home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / raytrace / radiance / simplerd.lha / simplerad / FinalFTP / WalkT / vcr.c.example < prev    next >
Encoding:
Text File  |  1992-05-22  |  2.3 KB  |  97 lines

  1. /**********************************************************************/
  2. /*                                                                    */
  3. /* vcr.c : Some simple routines to record stuff on screen to VCR.     */
  4. /*         Only for IRIS to ... currntly.                             */
  5. /*                                                                    */
  6. /* Copyright (C) 1992, Bernard Kwok                                   */
  7. /* All rights reserved.                                               */
  8. /* Revision 1.0                                                       */
  9. /* May, 1992                                                          */
  10. /**********************************************************************/
  11. #include <stdio.h>
  12. #include <gl/gl.h>
  13. #include <gl/device.h>
  14. #include <gl/addrs.h>
  15. #include <gl/cg2vme.h>
  16. #include "/cs/u/vgrlab/src/lib/VCRlib/VCRlib.h"
  17. #include "vcr.h"
  18.  
  19. Vcr_params vcr_params = { 
  20.   NTSC,                           /* Default NTCS size */
  21.   XMAX170, YMAX170 
  22.   };
  23.  
  24. /* 
  25.  * Setup parameters for recording 
  26.  */
  27. void vcr_set_mode(mode)
  28.      int mode;
  29. { vcr_params.mode = mode; }
  30.  
  31. /* 
  32.  * Start recording
  33.  */
  34. void vcr_start_record()
  35. {
  36.   if (vcr_params.mode == REC) {
  37.     VCR_open();
  38.     VCR_init(ONE_SHOT_MODE);
  39.     VCR_RECORD();
  40.     VCR_RECORD();
  41.   }
  42. }
  43.  
  44. /* 
  45.  * Window setup (call before calling winopen). Fixed size at lower left.
  46.  */
  47. void vcr_setup_window(bord)
  48.      int bord;
  49.   if (!bord) 
  50.     noborder(); 
  51.   prefposition(0,vcr_params.width-1,0,vcr_params.height-1);
  52.   prefsize(vcr_params.width,vcr_params.height);
  53.   maxsize(vcr_params.width,vcr_params.height);
  54.   minsize(vcr_params.width,vcr_params.height);
  55. }
  56.  
  57. /*
  58.  * Once window is up, set video parameters 
  59.  */
  60. void vcr_start_video()
  61. {
  62.   if (vcr_params.mode == REC) {
  63.     setvideo (DE_R1, (long) 0);    /* reset the de3 */
  64.     setvideo (DE_R1, DER1_G_170 | DER1_UNBLANK); /* genlocked RS170 */
  65.     setvideo (CG_MODE, 0x2);    /* set cg2 to mode 2 */
  66.   }
  67. }
  68.  
  69. /*
  70.  * Grab whats on the window. Do after evey draw, and swapbuffer.
  71.  */
  72. void vcr_grab()
  73.   if (vcr_params.mode == REC) VCR_RECORD(); 
  74. }
  75.  
  76. /* 
  77.  * Stop recording 
  78.  */
  79. void vcr_stop_record()
  80. {
  81.   if (vcr_params.mode == REC) {
  82.     VCR_STOP();
  83.     VCR_close();
  84.   }
  85. }
  86.  
  87. /*
  88.  * Reset video parameters 
  89.  */
  90. void vcr_end_video()
  91. {
  92.   if (vcr_params.mode == REC) 
  93.     setvideo (DE_R1, DER1_60HZ | DER1_SYNCG | DER1_UNBLANK);
  94. }
  95.